# -*- coding: utf-8 -*-
import scrapy
import json
from  ITcast.items import ItcastItem


class ItcastSpider(scrapy.Spider):   #类名自己定义，继承的父类是scrapy.spider
    name = 'itcast'                             #爬虫名称，启动爬虫的时候，要根据名称启动
    allowed_domains = ['itcast.cn']  #提取域的范围，只爬这个网站，可选参数，可以不写
    start_urls = ['http://www.itcast.cn/channel/teacher.shtml']      #http不能少，爬取的第一个网页，可以有多个,只要是一个可迭代的对象就行，这个域名要在提取域的范围内

    def parse(self, response):   #这个名称不能变
        #print(response.body)    #打印网页内容
        node_list = response.xpath("//div[@class='li_txt']")
        #用来存储所有item字段
        #items = []
        for node in node_list:
            #创建item字段对象，用来存储信息
            item = ItcastItem()
            #extract()将xpath对象转换成unicode字符串
            name = node.xpath("./h3/text()").extract()
            title = node.xpath("./h4/text()").extract()
            info = node.xpath("./p/text()").extract()
            
            #字典
            item['name']=name[0]
            item['title']=title[0]
            item['info']=info[0]

            #items.append(item)
            #返回提取的每个item数据，给管道处理，同时还会回来
            yield item

        #return items      #返回给引擎
  
        
